CloudWatch Alarm を有効化/無効化する方法
困っていた内容
EC2 インスタンスの CloudWatch メトリクス CPUUtilization に対して、CloudWatch Alarm を設定しています。
CloudWatch Alarm はメトリクスがデータ不足に推移した場合も、アクションを実行するように設定しています。
コスト削減のため、EC2 インスタンスに対して深夜 0:00 に停止する処理を入れたところ、停止時に CloudWatch Alarm がデータ不足のアラーム状態となってしまいます。
これを回避するために、CloudWatch Alarm を無効化する方法を教えてください。
どう対応すればいいの?
CloudWatch Alarm は マネジメントコンソール、及び、AWS CLI コマンドで有効化/無効化をすることが可能です。
マネジメントコンソールで実行する
無効化する方法
アラーム一覧から「アクション▼」⇒「アラームアクション - 新規」⇒「無効化」を選択します。
ダイアログボックスにて「無効化」ボタンを押下します。
無効化されました。
有効化する方法
アラーム一覧から「アクション▼」⇒「アラームアクション - 新規」⇒「有効化」を選択します。
有効化されました。
AWS CLI コマンドで実行する方法
無効化する方法
aws cloudwatch disable-alarm-actions --alarm-names <アラーム名>
有効化する方法
aws cloudwatch enable-alarm-actions --alarm-name <アラーム名>
この処理を Lambda 関数として作成し、CloudWatch Events でスケジュールとして実行することで、特定の時間帯に CloudWatch Alarm を一時停止することも可能です。
参考資料
disable-alarm-actions — AWS CLI 1.18.195 Command Reference